//package com.qiezikaka.kaka.ui;
//
//import android.content.Intent;
//import android.text.TextUtils;
//import android.view.View;
//import android.view.ViewGroup;
//import android.view.ViewTreeObserver;
//import android.view.WindowManager;
//
//import androidx.annotation.NonNull;
//import androidx.fragment.app.Fragment;
//import androidx.fragment.app.FragmentManager;
//import androidx.fragment.app.FragmentPagerAdapter;
//import androidx.recyclerview.widget.GridLayoutManager;
//
//import com.chad.library.adapter.base.BaseQuickAdapter;
//import com.qiezikaka.kaka.R;
//import com.qiezikaka.kaka.adapter.BannerListAdapter;
//import com.qiezikaka.kaka.adapter.FuZhuangDataListAdapter;
//import com.qiezikaka.kaka.base.BaseActivity;
//import com.qiezikaka.kaka.bean.BannerInfo;
//import com.qiezikaka.kaka.bean.FuZhuangInfo;
//import com.qiezikaka.kaka.bean.HomeCateInfo;
//import com.qiezikaka.kaka.bean.UpdataVersionInfo;
//import com.qiezikaka.kaka.databinding.ActivityMain2Binding;
//import com.qiezikaka.kaka.databinding.ActivityMainBinding;
//import com.qiezikaka.kaka.ui.detail.DetailCameraFaceTakleActivity;
//import com.qiezikaka.kaka.view.GridSpacingItemDecoration;
//import com.scwang.smart.refresh.layout.api.RefreshLayout;
//import com.scwang.smart.refresh.layout.listener.OnLoadMoreListener;
//import com.scwang.smart.refresh.layout.listener.OnRefreshListener;
//import com.youth.banner.indicator.CircleIndicator;
//import com.youth.banner.listener.OnBannerListener;
//
//import java.util.List;
//
//import util.UpdateAppUtils;
//
//public class Main01Activity extends BaseActivity<MainPresenter> implements MainContract.View, BaseQuickAdapter.OnItemClickListener {
//
//    private ActivityMainBinding mBinding;
//    private MainPresenter presenter;
//    private boolean hasLoadMore = false;
//    private boolean isFristLoad = true;
//    private int PAGE_NO = 1;
//    private int PAGE_SIZE = 10;
//    private FuZhuangDataListAdapter teachDataAdapter;
//
//    @Override
//    public View getLayout() {
//        mBinding = ActivityMain2Binding.inflate(getLayoutInflater());
//        return mBinding.getRoot();
//    }
//
//    @Override
//    protected MainPresenter getPresenter() {
//        if (presenter == null) {
//            presenter = new MainPresenter(this, this);
//        }
//        return presenter;
//    }
//
//    @Override
//    protected void initEventAndData() {
//        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
//        initview();
//        initData();
//    }
//
//    private void initview() {
//        mBinding.rvRm.setLayoutManager(new GridLayoutManager(this, 5));
//        mBinding.rvRm.addItemDecoration(new GridSpacingItemDecoration(5, 10, true));
//
//        mBinding.rmRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
//            @Override
//            public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
//                PAGE_NO = 1;
//                presenter.getFuZhuanList("",PAGE_NO+"",PAGE_SIZE+"","1");
//                hasLoadMore = false;
//
//            }
//        });
//
//        mBinding.rmRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
//            @Override
//            public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
//                ++PAGE_NO;
//                presenter.getFuZhuanList("",PAGE_NO+"",PAGE_SIZE+"","1");
//                hasLoadMore = true;
//            }
//        });
//
//        ViewTreeObserver observer = mBinding.llBannerView.getViewTreeObserver();
//        observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
//            @Override
//            public void onGlobalLayout() {
//                mBinding.llBannerView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
//                ViewGroup.LayoutParams layoutParams = mBinding.llBannerView.getLayoutParams();
//                int height = mBinding.llBannerView.getMeasuredHeight();
//                layoutParams.width = height *9 / 16;
//                mBinding.llBannerView.setLayoutParams(layoutParams);
//            }
//        });
//    }
//
//    private void initData() {
//        // 设置GET请求参数
//        presenter.getBannerList();
//        presenter.getHomeCate();
//        presenter.getFuZhuanList("",PAGE_NO+"",PAGE_SIZE+"","1");
//        presenter.updateVersion();
//    }
//
//    @Override
//    public void onBannerList(BannerInfo info) {
//        switch (info.getStatus()) {
//            case 200:
//                List<BannerInfo.DataBean> beanList = info.getData();
//                mBinding.banner.setAdapter(new BannerListAdapter(beanList))
//                        .addBannerLifecycleObserver(Main01Activity.this)//添加生命周期观察者
//                        .setIndicator(new CircleIndicator(Main01Activity.this))
//                        .setOnBannerListener(new OnBannerListener() {
//                                    @Override
//                                    public void OnBannerClick(Object data, int position) {
//                                        BannerInfo.DataBean dataBean = (BannerInfo.DataBean)data;
//                                        String id = dataBean.getId();
////                                        Intent mIntent = new Intent(MainActivity.this, DetailTakleActivity.class);
////                                        mIntent.putExtra("pid",id);
////                                        startActivity(mIntent);
//                                    }
//                                }
//                        );
//                break;
//            case 422:
//                break;
//        }
//    }
//
//    /**
//     * 获取分类
//     * @param info
//     */
//    @Override
//    public void onHomeCate(HomeCateInfo info) {
//        switch (info.getStatus()) {
//            case 200:
//                List<HomeCateInfo.DataBean> beanList = info.getData();
//                initViewpager(beanList);
//                break;
//            case 422:
//                break;
//        }
//    }
//
//    @Override
//    public void onFuZhuanList(FuZhuangInfo info) {
//        mBinding.rmRefreshLayout.finishLoadMore();
//        mBinding.rmRefreshLayout.finishRefresh();
//        mBinding.rmRefreshLayout.resetNoMoreData();//setNoMoreData(false);
//        switch (info.getStatus()) {
//            case 200:
//                FuZhuangInfo.DataBean infoData = info.getData();
//                if (infoData != null) {
//                    int page = infoData.getPage();
//                    if (isFristLoad) {
//                        List<FuZhuangInfo.DataBean.ListBean> list = infoData.getList();
//                        teachDataAdapter = new FuZhuangDataListAdapter(R.layout.item_hot_fuzhuang, list);
//                        mBinding.rvRm.setAdapter(teachDataAdapter);
//                        teachDataAdapter.setOnItemClickListener(this::onItemClick);
//                        isFristLoad = false;
//
//                    } else {
//                        if (!hasLoadMore) { //上拉加载
//                            List<FuZhuangInfo.DataBean.ListBean> dataList = infoData.getList();
//                            teachDataAdapter.replaceData(dataList);
//
//                        } else { //下拉刷新
//                            if (PAGE_NO <= page) {
//                                //说明有值
//                                List<FuZhuangInfo.DataBean.ListBean> dataList = infoData.getList();
//                                teachDataAdapter.addData(dataList);
//                            }
//                        }
//                    }
//                    List<FuZhuangInfo.DataBean.ListBean> listBeanList = teachDataAdapter.getData();
//                    if (listBeanList != null && listBeanList.size() != 0) {
//                        mBinding.rvRm.setVisibility(View.VISIBLE);
//                        mBinding.empty.clEmpty.setVisibility(View.GONE);
//                    } else {
//                        mBinding.rvRm.setVisibility(View.GONE);
//                        mBinding.empty.clEmpty.setVisibility(View.VISIBLE);
//                    }
//                }
//                break;
//            case 422:
//                showToast(info.getMessage());
//                break;
//            default:
//                break;
//        }
//    }
//
//    @Override
//    public void onFailer(Throwable throwable) {
//
//    }
//
//    @Override
//    public void onUpdataApp(UpdataVersionInfo info) {
//        switch (info.getStatus()){
//            case 200:
//                UpdataVersionInfo.DataBean data = info.getData();
//                if (data != null) {
//                    String apk_file_url = data.getApk_url();
//                    String is_must = data.getIs_must();//是否强制升级
//                    int version_code = data.getVersion_code();
//                    String update_log = data.getUpdate_log();
//                    String new_version = data.getVersion_str();
//
//                    String log = "优化了用户体验";
//                    if (!TextUtils.isEmpty(update_log)) {
//                        String[] split = update_log.split("&");
//                        for (int i = 0; i < split.length; i++) {
//                            log = log + "\n" + split[i];
//                        }
//                    }
//
//                    UpdateAppUtils.from(this)
//                            .serverVersionCode(version_code)
//                            .serverVersionName(new_version)
//                            .apkPath(apk_file_url)
//                            .updateInfo(log)
//                            .downloadBy(UpdateAppUtils.DOWNLOAD_BY_APP) //下载方式：app下载、手机浏览器下载。默认app下载
//                            .showNotification(true)
//                            .isForce(is_must=="1"?true:false) //是否强制更新
////                                .needFitAndroidN(false)
//                            .update();
//                }
//                break;
//            case 422:
//                showToast(info.getMessage());
//                break;
//        }
//    }
//
//    private void initViewpager(List<HomeCateInfo.DataBean> cate_list) {
//        MyPagerAdapter myPagerAdapter = new MyPagerAdapter(getSupportFragmentManager(), cate_list);
//        mBinding.viewpager.setOffscreenPageLimit(cate_list.size());
//        mBinding.viewpager.setAdapter(myPagerAdapter);
//        mBinding.tablayout.setupWithViewPager( mBinding.viewpager);
//    }
//
//    @Override
//    public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
//        List<FuZhuangInfo.DataBean.ListBean> list = adapter.getData();
//        if(list != null && list.size() != 0){
//            FuZhuangInfo.DataBean.ListBean listBean = list.get(position);
//            if(listBean != null){
//                String id = listBean.getId();
////                Intent mIntent = new Intent(MainActivity.this, DetailTakleActivity.class);
////                mIntent.putExtra("pid",id);
////                startActivity(mIntent);
//                Intent mIntent = new Intent(Main01Activity.this, DetailCameraFaceTakleActivity.class);
//                mIntent.putExtra("pid",id);
//                startActivity(mIntent);
//            }
//        }
//    }
//
//
//    class MyPagerAdapter extends FragmentPagerAdapter {
//        List<HomeCateInfo.DataBean> cate_list;
//
//        public MyPagerAdapter(FragmentManager fm, List<HomeCateInfo.DataBean> cate_list) {
//            super(fm);
//            this.cate_list = cate_list;
//        }
//
//        @Override
//        public CharSequence getPageTitle(int position) {
//            return cate_list.get(position).getName();
//        }
//
//        @Override
//        public Fragment getItem(int position) {
//            HomeCateInfo.DataBean listBean = cate_list.get(position);
//            if (listBean != null) {
//                return CateTabFragment.newInstance(listBean.getId()+"");
//            }
//            return null;
//        }
//
//        @Override
//        public int getCount() {
//            return cate_list.size();
//        }
//    }
//}